package com.efuture.chapterfive

/* @Description: Kotlin语言的解构声明学习
 * @Auther: zhaoshanshan
 * @Date: 2022/03/07/2:35 下午
 */
//普通类 解构声明
class Demo86(var name:String,var gae:Int,var sex:Char){
    //注意 component 顺序必须是 component1 component2 component3 和成员一一对应 顺序下来的
    operator fun component1() = name
    operator fun component2() = gae
    operator fun component3() = sex

}
//数据类 自带解构声明 不需要手动声明
data class Demo86Data(var name:String,var gae:Int,var sex:Char){

}
fun main() {
    //普通类
    val(name,age,sex)=Demo86("赵山山",30,'男')
    println("普通类解构后:name:$name;age:$age;sex:$sex")
    val(_,age1,_)=Demo86("张丽萍",31,'女')//解构age这个值
    println("普通类解构后:name:$name;age:$age1;sex:$sex")

    //数据类
    val(name2,age2,sex2)=Demo86Data("刘一凡",36,'男')
    println("数据类解构后:name:$name2;age:$age2;sex:$sex2")
}